package com.kaili.basic.service.impl;

import com.baomidou.mybatisplus.plugins.Page;
import com.kaili.basic.mapper.MdmAlarmMapper;
import com.kaili.basic.pojo.dto.MdmAlarmUpdateDto;
import com.kaili.basic.pojo.dto.MdmAlarmInfoDto;
import com.kaili.basic.pojo.dto.MdmAlarmQueryByPageDto;
import com.kaili.basic.pojo.dto.MdmAlarmQueryDto;
import com.kaili.basic.pojo.entity.MdmAlarmEntity;
import com.kaili.basic.pojo.vo.MdmAlarmDeviceVo;
import com.kaili.basic.pojo.vo.MdmAlarmQueryAllVo;
import com.kaili.basic.service.MdmAlarmService;
import com.kaili.common.util.LoginDetailUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;

/**
 * @Desc: MdmAlarmServiceImpl
 * @author: jianfeng
 * @Time: 2019/7/24 14:30
 * @Copyright: © 2018 杭州凯立通信有限公司 版权所有
 * @Warning: 本内容仅限于公司内部传阅, 禁止外泄或用于其它商业目的
 */
@Service
public class MdmAlarmServiceImpl implements MdmAlarmService {

    @Autowired
    private MdmAlarmMapper alarmMapper;

    /**
    * @Desc:  告警设置
    * @author: jianfeng
    * @Time: 2019/7/24 19:20
    * @param alarmEntity
    * @return int
    */
    @Override
    public int updateMdmAlarm(MdmAlarmEntity alarmEntity) {
        return alarmMapper.updateMdmAlarm(alarmEntity);
    }

    /**
    * @Desc:
    * @author: jianfeng
    * @Time: 2019/7/25 20:05
    * @param alarmQueryDto
    * @return java.util.List<com.kaili.basic.pojo.vo.MdmAlarmQueryAllVo>
    */
    @Override
    public List<MdmAlarmQueryAllVo> queryMdmAlarm(MdmAlarmQueryDto alarmQueryDto) {
        return alarmMapper.queryMdmAlarm(alarmQueryDto);
    }

    /**
    * @Desc:  分页查询告警信息
    * @author: jianfeng
    * @Time: 2019/7/25 19:29
    * @param page
    * @param alarmQueryByPageDto
    * @return java.util.List<com.kaili.basic.pojo.vo.MdmAlarmQueryAllVo>
    */
    @Override
    public Page<MdmAlarmQueryAllVo> queryPageList(Page<MdmAlarmQueryAllVo> page, MdmAlarmQueryByPageDto alarmQueryByPageDto) {
        List<MdmAlarmQueryAllVo> list=alarmMapper.queryPageList(page,alarmQueryByPageDto);
        return page.setRecords(list);
    }

    /**
    * @Desc:  根据id查询告警名称
    * @author: jianfeng
    * @Time: 2019/7/26 15:44
    * @param id
    * @return java.util.List<com.kaili.basic.pojo.vo.MdmAlarmQueryAllVo>
    */
    @Override
    public List<MdmAlarmQueryAllVo> queryMdmAlarmById(Long id) {
        return alarmMapper.queryMdmAlarmById(id);
    }

    /**
    * @Desc:  分页显示告警详情信息
    * @author: jianfeng
    * @Time: 2019/7/26 18:27
    * @param page
    * @param alarmInfoDto
    * @return com.baomidou.mybatisplus.plugins.Page<com.kaili.basic.pojo.vo.MdmAlarmDeviceVo>
    */
    @Override
    public Page<MdmAlarmDeviceVo> queryPageListAlarm(Page<MdmAlarmDeviceVo> page, MdmAlarmInfoDto alarmInfoDto) {
        List<MdmAlarmDeviceVo> list=alarmMapper.queryPageListAlarm(page,alarmInfoDto);
        return page.setRecords(list);
    }

    /**
    * @Desc:  告警项导出
    * @author: jianfeng
    * @Time: 2019/7/26 19:01
    * @param alarmQueryByPageDto
    * @return java.util.List<com.kaili.basic.pojo.vo.MdmAlarmQueryAllVo>
    */
    @Override
    public List<MdmAlarmQueryAllVo> queryAlarmExport(MdmAlarmQueryByPageDto alarmQueryByPageDto) {
        return alarmMapper.queryAlarmExport(alarmQueryByPageDto);
    }

    /**
    * @Desc:  告警详情导出
    * @author: jianfeng
    * @Time: 2019/7/29 9:38
    * @param alarmInfoDto
    * @return java.util.List<com.kaili.basic.pojo.vo.MdmAlarmDeviceVo>
    */
    @Override
    public List<MdmAlarmDeviceVo> queryAlarmInfoExport(MdmAlarmInfoDto alarmInfoDto) {
        return alarmMapper.queryAlarmInfoExport(alarmInfoDto);
    }
}
